#pragma once
#include "header.h"
class ShowLog
{
	public:
		void ShowLogInfo(std::string str)
		{
			std::cout << str;
		}

		void ShowLogInfo(int num,std::string str)
		{
			std::cout << str << " " << num;
		}


		void PrintInfo(int num, string str)
		{
			cout << "num:" << num << " str:" << str << endl;
		}

		void PrintInfo( string str)
		{
			cout << "str:" << str << endl;
		}

};

using callback1 = function<void(string)>;
void registerShowLogCallBack(callback1 cb, string value)
{
	cb(value);
}

void registerPrintLogCallBack(function<void(int, string)>callBack, int num, string str)
{
	callBack(num, str);
}

template<class T,class ...Args>
void registerTemplate(T&& func, Args...args)
{
	//func(args...);
	func(std::forward<Args>(args)...);
}

